The present invention relates to updating software components in computer systems and more particularly to a method and device for optimizing data updates in operationally approved software applications of aircraft as defined in the standard ARINC 667.
In order to simplify aircraft maintenance operations and facilitate the deployment of improvements and/or corrections to certain aircraft components, typically calculator software components, the use of downloadable software applications has become widespread on recent generations of aircraft.
The latter thus comprise download mechanisms that can be used to update certain calculator software components. To this end, new versions of so-called software applications, or constituents of said applications, so-called software components, are brought into the aircraft in question on physical storage media or via wired or wireless computer communication means. Calculator update operations, hereinafter referred to as downloads, are then performed, and a configuration report is generated. When a download is performed, an operator consults the configuration report generated in order to check that the corresponding operation has taken place correctly.
A criticality level is generally associated with the updates performed, depending on the components affected by them. Each criticality level typically requires specific operations and qualifications on the part of the operators performing the updates. Various regulations thus exist that apply to the on-board software update operations and mechanisms. In order to homogenize and clarify the various types of software, the company ARINC (Aeronautical Radio Incorporated) published standard ARINC 667, which classifies software according to the regulations applicable thereto.
When an operator performs a software installation or update operation, he must certify that he has installed the correct version of the correct software on the correct equipment, as required and in accordance with the correct procedure. To this end, the download mechanisms generally make it possible to report, by means of configuration reports, the version of the installed software applications together with the functional location, hereinafter referred to as FIN (Functional Item Number) thereof, and the items of equipment involved. Said configuration reports tend to group together the configurations of large numbers of software applications installed on different items of equipment so that the operator does not have to process a configuration report for each software component or each item of equipment.
Said configuration reports thus contain a list of the software applications installed on the various items of equipment that are downloadable, and the version thereof. Typically, they also contain additional items of information relating to the software applications that are the subject of specific regulations and to said regulations.
When said configuration reports contain items of information according to which the configuration of items of equipment has potentially significant impacts on the security or safety of the aircraft, they can generally only be viewed on board the aircraft on equipment approved and usable for certification purposes. It is therefore necessary, during the use of certain software update mechanisms, to request that qualified maintenance personnel visit the aircraft to perform the operations.
Furthermore, it has been observed that a number of software applications require the transfer of large quantities of data to the aircraft during frequent updates.
Thus, in other words, software component updates generally take place in three steps:
importing data from a support or via a communication network;
an operator installing the imported software component (download) on the equipment; and
generating a configuration report describing the installed content.
The configuration report comprises a list of software components installed on the various items of equipment and the version of each software component. There is therefore cardinality of one-to-one between a version of a software component and the functional identifier to which it is linked. It is therefore necessary, during a software component update, to import and install the entire software component even if only part of it has been modified.
To improve the updating of software on aircraft, it is possible to subdivide the software components further into software subcomponents. This makes it possible to update only those software subcomponents that have changed.
Another improvement consists of creating several functional identifiers for a software component that is capable of being incrementally supplemented at a later date by other software components, and creating a list of said functional identifiers that can receive increments.
However, these solutions are not ideal. Firstly, the initial subdivision must take into account the structure of the software as well as any future developments, which is often unrealistic and results in a lack of clarity about the functional subdivision, which becomes a technical subdivision that is more difficult for an operator to grasp. Moreover, the greater the number of software components, the greater the complexity of managing the configuration.
Furthermore, for performance reasons and in order to place a limit on the number of subcomponents forming a software component, a new complete version of the software component must be installed regularly. Moreover, in order to ensure that the new configuration is always an accurate image of the status of the aircraft, some of the previously installed increments must be uninstalled, which creates a specific procedure with an impact for the operators.
Finally, as a result of said improvements, the software components installed become more complex. It can consequently be difficult to meet the requirements regarding the integration of the software components into the calculators. It can become difficult, or even impossible, to manage the increments necessarily installed in locations that are, by their nature, different from each other and different from the previous complete version of the corresponding software.
There is therefore a need to improve aircraft software update systems, limiting operators' working time and visits to the aircraft.